<?php
class EntidadesMunicipiosController extends AppController {

	var $name = 'EntidadesMunicipios';
   	var $uses = array('EntidadesMunicipio','Entidade','Municipio');
   	var $helpers=array('Access');
   	
	function index() {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		$this->EntidadesMunicipio->recursive = 0;
		$this->set('entidadesMunicipios', $this->paginate());
	}

	function view($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id) {
			$this->Session->setFlash(__('Invalid entidades municipio', true));
			$this->redirect(array('action' => 'index'));
		}
		$this->set('entidadesMunicipio', $this->EntidadesMunicipio->read(null, $id));
	}

	function add() {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!empty($this->data)) {
			$this->EntidadesMunicipio->create();
			if ($this->EntidadesMunicipio->save($this->data)) {
				$this->Session->setFlash(__('The entidades municipio has been saved', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The entidades municipio could not be saved. Please, try again.', true));
			}
		}
		$entidades = $this->EntidadesMunicipio->Entidade->find('list',array('fields'=>array('Entidade.id','Entidade.nombre')));
		$municipios = $this->EntidadesMunicipio->Municipio->find('list',array('fields'=>array('Municipio.id','Municipio.nombre')));
		$this->set(compact('entidades', 'municipios'));
	}

	function edit($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id && empty($this->data)) {
			$this->Session->setFlash(__('Invalid entidades municipio', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {
			if ($this->EntidadesMunicipio->save($this->data)) {
				$this->Session->setFlash(__('The entidades municipio has been saved', true));
				$this->redirect(array('action' => 'index'));
			} else {
				$this->Session->setFlash(__('The entidades municipio could not be saved. Please, try again.', true));
			}
		}
		if (empty($this->data)) {
			$this->data = $this->EntidadesMunicipio->read(null, $id);
		}
		$entidades = $this->EntidadesMunicipio->Entidade->find('list',array('fields'=>array('Entidade.id','Entidade.nombre')));
		$municipios = $this->EntidadesMunicipio->Municipio->find('list',array('fields'=>array('Municipio.id','Municipio.nombre')));
		$this->set(compact('entidades', 'municipios'));
	}

	function delete($id = null) {
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$id) {
			$this->Session->setFlash(__('Invalid id for entidades municipio', true));
			$this->redirect(array('action'=>'index'));
		}
		if ($this->EntidadesMunicipio->delete($id)) {
			$this->Session->setFlash(__('Entidades municipio deleted', true));
			$this->redirect(array('action'=>'index'));
		}
		$this->Session->setFlash(__('Entidades municipio was not deleted', true));
		$this->redirect(array('action' => 'index'));
	}	
	

    function municipios_entidades(){
    	$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		$municipios = $this->paginate('Municipio');
		$this->set(compact('municipios'));
	}
	
	function asignacion($municipio = null){
		$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!empty($this->data)) {
			$datos = $this->data;
			$entidades;
			
			
			if(is_array($datos['EntidadesMunicipio']['entidades'])) {
				foreach ($datos['EntidadesMunicipio']['entidades'] as $entidad){
					$entidades[]=$entidad;
				}
			
			for($i=0; $i<count($entidades); $i++){
				$registro['EntidadesMunicipio']= array('entidade_id'=>$entidades[$i],'municipio_id'=>$datos['EntidadesMunicipio']['municipio_id']);
					
				$this->EntidadesMunicipio->create();
				$this->EntidadesMunicipio->save($registro);

			}	
			}
			if ($this->EntidadesMunicipio->save($this->data)) {
				$this->Session->setFlash(__('El  ha sido guardado.', true));
				$this->redirect(array('controller'=>'entidades_municipios','action'=>'municipios_entidades'));
			} else {
				$this->Session->setFlash(__('El  no ha sido guardado. Por favor intente de nuevo.', true));
			}
		}
		
		//Carga la informacion
		if(empty($this->data)) {
			$municipio_datos = $this->Municipio->read(null, $municipio);
		}
		$municipio_id = $municipio;
		$entidades = $this->Entidade->find('list',array('fields'=>array('Entidade.id','Entidade.nombre'),'order'=>array('Entidade.nombre'=>'ASC')));	
    	$this->set(compact('entidades','municipio_datos'));
	}	

	  function editar_asignacion($municipio=null)
	  {
	  	$usuario_activo=$this->Access->getMy('username');	
		//Verificacion de sesion del sistema		
		if(!$usuario_activo){
			$this->Session->setFlash(__('Por favor inicie sesion', true));
			$this->redirect(array('controller'=>'users','action' => 'login'));
		}
		//Fin de sesion
		if (!$municipio && empty($this->data)) {
			$this->Session->setFlash(__('Municipio Invalido', true));
			$this->redirect(array('action' => 'index'));
		}
		if (!empty($this->data)) {

			$form = $this->data;	
			//die(var_dump($form));
			if(is_array($form['EntidadesMunicipio']['entidade_id'])) {
				//Entidades seleccionadas 
				$indice=0;
				$entidades_seleccionadas;
				
				
				foreach ($form['EntidadesMunicipio']['entidade_id'] as $entidade){
					$entidades_seleccionadas[$indice]=$entidade;
					$indice++;
				}
				
				$mio = $this->EntidadesMunicipio->find('list',array('conditions'=>array('EntidadesMunicipio.municipio_id'=>$form['EntidadesMunicipio']['municipio_datos'])));
				
				foreach ($mio as $m):
					$this->EntidadesMunicipio->delete($m);
				endforeach;
										
				for($i=0; $i<count($entidades_seleccionadas); $i++){
						$registro['EntidadesMunicipio']=array('entidade_id'=>$entidades_seleccionadas[$i],'municipio_id'=>$form['EntidadesMunicipio']['municipio_datos']);	   			
			   			$this->EntidadesMunicipio->create();
						$this->EntidadesMunicipio->save($registro);	
				}
				
				$this->Session->setFlash(__('Municipios guardados', true));
				$this->redirect(array('controller'=>'entidades_municipios','action'=>'municipios_entidades'));			
				
			}else{
				$this->Session->setFlash(__('No se seleccion&oacute; ninguna entidad.', true));
			}
				
		}
		if (empty($this->data)) {
			$this->data = $this->EntidadesMunicipio->read(null, $municipio);
		}
		
		$entidades = $this->Entidade->find('list', array('fields'=>array('Entidade.id', 'Entidade.nombre'),'order'=>array('Entidade.nombre'=>'ASC')));
		$entidades_activas = $this->EntidadesMunicipio->find('list', array('fields'=>array('EntidadesMunicipio.entidade_id'),
																				'conditions'=>array('EntidadesMunicipio.municipio_id'=>$municipio)));
		$municipios = $this->Municipio->find('list', array('fields'=>array('Municipio.id', 'Municipio.nombre'),'order'=>array('Municipio.nombre'=>'ASC')));		
		
		$municipio_id = $municipio;		
		$this->set(compact('municipios', 'entidades', 'municipio_id', 'entidades_activas', 'municipio'));		
	}
	  
	
}
